#!/usr/bin/env python
# -*- coding: UTF-8 -*-

import datetime
import string
from google.appengine.ext import webapp
from django.utils import simplejson
from google.appengine.api import users
from google.appengine.ext import db

register = webapp.template.create_template_register()

def convertJST(body):
    return body + datetime.timedelta(hours=9)

def sjis(body):

    if body != '':
        if isinstance(body, unicode):
            body = body.translate({
                        ord(u'\u00a6'):u'\u007c',
                        ord(u'\u2014'):u'\u2015',
                        ord(u'\u2225'):u'\u2016',
                        ord(u'\uff0d'):u'\u2212',
                        ord(u'\uff5e'):u'\u301c',
                        ord(u'\uffe0'):u'\u00a2',
                        ord(u'\uffe1'):u'\u00a3',
                        ord(u'\uffe2'):u'\u00ac',
                        ord(u'\u2169'):u'\u0020',
                        ord(u'\u222e'):u'\u0020',
                        ord(u'\u2461'):u'\u0020',
                        ord(u'\u2661'):u'\u0020',
                        ord(u'\u2665'):u'\u0020',
                        ord(u'\u273f'):u'\u0020',
                        ord(u'\u301d'):u'\u0020',
                        ord(u'\u3231'):u'\u0020',
                        ord(u'\u32a5'):u'\u0020',
                        ord(u'\u3303'):u'\u0020',
                        ord(u'\u3327'):u'\u0020',
                        ord(u'\u3349'):u'\u0020',
                        
                        ord(u'\u32a6'):u'\u0020',
                        ord(u'\u0c9f'):u'\u0020',
                        ord(u'\u338f'):u'\u0020',
                        ord(u'\u2161'):u'\u0020',
                        ord(u'\u2211'):u'\u0020',
                        ord(u'\u3314'):u'\u0020',
                        ord(u'\u246f'):u'\u0020',
                        ord(u'\u3231'):u'\u0020',
                        ord(u'\u222e'):u'\u0020',
                        ord(u'\u22bf'):u'\u0020',
                        ord(u'\u3232'):u'\u0020',
                        ord(u'\u3322'):u'\u0020',


                        })
    
        if isinstance(body, str):
            body = body.replace(u'\u00a6', u'\u007c') #broken bar=>vertical bar
            body = body.replace(u'\u2014', u'\u2015') #horizontal bar=>em dash
            body = body.replace(u'\u2225', u'\u2016') #parallel to=>double vertical line
            body = body.replace(u'\uff0d', u'\u2212') #minus sign=>fullwidth hyphen minus
            body = body.replace(u'\uff5e', u'\u301c') #fullwidth tilde=>wave dash
            body = body.replace(u'\uffe0', u'\u00a2') #fullwidth cent sign=>cent sign
            body = body.replace(u'\uffe1', u'\u00a3') #fullwidth pound sign=>pound sign
            body = body.replace(u'\uffe2', u'\u00ac') #fullwidth not sign=>not sign
            body = body.replace(u'\u2169', u'\u0020') #ROMAN NUMERAL TEN
            body = body.replace(u'\u222e', u'\u0020') #MILI            
            body = body.replace(u'\u2461', u'\u0020') #MILI 
            body = body.replace(u'\u2661', u'\u0020') #WHITE HEART SUIT
            body = body.replace(u'\u2665', u'\u0020') #BLACK HEART SUIT
            body = body.replace(u'\u273f', u'\u0020') #BLACK FLORETTE
            body = body.replace(u'\u301d', u'\u0020') #MILI
            body = body.replace(u'\u3231', u'\u0020') #MILI 
            body = body.replace(u'\u32a5', u'\u0020') #MILI      
            body = body.replace(u'\u3303', u'\u0020') #MILI
            body = body.replace(u'\u3327', u'\u0020') #TON
            body = body.replace(u'\u3349', u'\u0020') #MILI
 
            body = body.replace(u'\u32a6', u'\u0020') #MILI      
            body = body.replace(u'\u0c9f', u'\u0020') #MILI      
            body = body.replace(u'\u338f', u'\u0020') #MILI      
            body = body.replace(u'\u2161', u'\u0020') #MILI      
            body = body.replace(u'\u2211', u'\u0020') #MILI      
            body = body.replace(u'\u3314', u'\u0020') #MILI      
            body = body.replace(u'\u246f', u'\u0020') #MILI      
            body = body.replace(u'\u3231', u'\u0020') #MILI      
            body = body.replace(u'\u222e', u'\u0020') #MILI      
            body = body.replace(u'\u22bf', u'\u0020') #MILI      
            body = body.replace(u'\u3232', u'\u0020') #MILI      
            body = body.replace(u'\u3322', u'\u0020') #MILI             

    return body.encode('shift-jis')

register.filter(convertJST)
register.filter(sjis)